package com.controller;

import com.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;

@Controller
public class UserController {
    @RequestMapping("/getUserId")
    public void getUserId(HttpServletRequest request) {
        String userId = request.getParameter("userId");
        System.out.println("userId = " + userId);
    }
    @RequestMapping("/getUserNameAndId")
    public void getUserNameAndId(String username,Integer id) {
        System.out.println("username = " + username + ",id = " + id);
    }
    @RequestMapping("/getUserName")
    public void getUserName(
            @RequestParam(value = "name", required = false, defaultValue = "itheima") String username
    ) {
        System.out.println("username = " + username);
    }
    @RequestMapping("/registerUser")
    public void registerUser(User user) {
        String name = user.getName();
        String password = user.getPassword();
        System.out.println("name = " + name + ",password = " + password);
    }
    @RequestMapping("/findOrderWithUser")
    public void findOrderWithUser(User user){
        String name = user.getName();
        String orderId = user.getOrder().getOrderId();
        System.out.println("name = " + name + ",orderId = " + orderId);
    }
    @RequestMapping("/showPageByRequest")
    public String showPageByRequest(HttpServletRequest request){
        request.setAttribute("username", "request");
        return "register";
    }
    @RequestMapping("/showPageByModel")
    public String showPageByModel(Model model){
        model.addAttribute("username", "model");
        User user = new User();
        user.setPassword("password");
        model.addAttribute("user", user);
        return "register";
    }
    @RequestMapping("/showModelView")
    public ModelAndView showModelView() {
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("username", "黑马");
        User user = new User();
        user.setPassword("987654321");
        modelAndView.addObject("user", user);
        modelAndView.setViewName("register");
        return modelAndView;
    }
}
